"""
@name : 06.python多态
@author : wenyao
@projectname: xsfh
"""
#在面向对象语言中，接口的多种不同的实现方式即为多态。
# 多态性的好处
# • 增加了程序的灵活性
#     • 以不变应万变，不论对象千变万化，使用者都是同一种形式去调用，如func(animal)
# • 增加了程序额可扩展性
#     • 通过继承animal类创建了一个新的类，使用者无需更改自己的代码，还是用func(animal)去调用
#     •多态：同一种事物的多种形态，动物分为人类，猪类（在定义角度）
#     • 多态性：一种调用方式，不同的执行效果（多态性）
# • 实现接口重用

#python的多态
#python里不支持多态， python处处是多态


#支付接口
#支付宝
#微信
#银行卡

# if zhifubao:
#     zhifubao.pay()
# if weixin:
#     weixin.pay()
class moneypay():
    pass
class zhifubao(moneypay):
    def pay(self):
        print("this is zhifubao pay")
class weixin(moneypay):
    def pay(self):
        print("this is weixin pay")
class yinhangka(moneypay):
    def pay(self):
        print("this is yinghangka pay")

zhi = zhifubao()
wei = weixin()
ying = yinhangka()

def pay(obj):
    obj.pay()

###############java
#def pay2(a string):
#   print(a)

#def pay(obj moneypay):
    # obj.pay()

#python中不支持多态  语法上的多态  不需要额外实现多态代码
#按照多态的语法 不属于多态（父类作为参数，传递子类对象）

#python 里处处是多态 python是一个多态类型语言，本身就实现了多态，崇尚鸭子类型

#不关心对象是什么类型，到底是不是鸭子，只关心行为